package com.luom.fsp.model.vo;

import com.luom.fsp.model.entity.Coupon;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 优惠券视图
 *
*/
@Data
public class CouponVO implements Serializable {

    /**
     * 优惠券id
     */
    private Long id;

    /**
     * 名称
     */
    private String name;

    /**
     * 类型（fixed:固定金额，percent:百分比折扣）
     */
    private String type;

    /**
     * 优惠金额（如10元）或折扣比例（如0.9）
     */
    private BigDecimal discountAmount;

    /**
     * 最低使用金额
     */
    private BigDecimal minAmount;

    /**
     * 库存量
     */
    private Integer stock;

    /**
     * 有效期开始
     */
    private Date startTime;

    /**
     * 有效期结束
     */
    private Date endTime;

    /**
     * 秒杀开始时间
     */
    private Date seckillStartTime;

    /**
     * 秒杀结束时间
     */
    private Date seckillEndTime;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 封装类转对象
     *
     * @param couponVO
     * @return
     */
    public static Coupon voToObj(CouponVO couponVO) {
        if (couponVO == null) {
            return null;
        }
        Coupon coupon = new Coupon();
        BeanUtils.copyProperties(couponVO, coupon);
        return coupon;
    }

    /**
     * 对象转封装类
     *
     * @param coupon
     * @return
     */
    public static CouponVO objToVo(Coupon coupon) {
        if (coupon == null) {
            return null;
        }
        CouponVO couponVO = new CouponVO();
        BeanUtils.copyProperties(coupon, couponVO);
        return couponVO;
    }
}
